// story <2013-7-31>
#ifndef _ENGINE_H_
#define _ENGINE_H_

#include "IObject.h"
#include <assert.h>
#include <vector>

class CApplication
{
public:

	// Constructor
	CApplication()
	{
		m_pObj = NULL;
	}

	// Destructor
	virtual ~CApplication()
	{
		if (m_pObj != NULL)
		{
			m_pObj = NULL;
		}
	}

	// this function can do only the m_pObj is initialized
	virtual void DoSomething()
	{
		assert(m_pObj != NULL);
		m_pObj->Move();
	}

	// Define the obj
	IObject * m_pObj;

};

#endif